"""
@version:python3
@author:大橘为重
@file:11-QCheckbox-功能测试.py
@time:2022/2/24 16:11
"""
# 0、导入需要的包和模块
from PyQt5.Qt import *
import sys


# 1、创建一个应用程序对象
app = QApplication(sys.argv)

# 2、控件操作
# 创建控件、设置控件、事件和信号的处理
# 2.1 创建控件
window = QWidget()
# 2.2 设置控件
window.setWindowTitle("QCheckbox-功能测试")
window.resize(500,500)

# print(QCheckBox.__bases__)

cb = QCheckBox("&Python",window)
cb.setIcon(QIcon("xxx.png"))
cb.setIconSize(QSize(60,60))
cb.setTristate(True) # 三态设置，主要是能设置一个选中但是没有完全选中的状态（部分选中）
# cb.setCheckState(Qt.PartiallyChecked) # 可以提前设置部分选中的状态
cb.stateChanged.connect(lambda state:print(state))
# 两态情况下用toggled即可 注意三态情况下，选中与半选中都是true


# 2.3 展示控件
window.show()

# 3、应用程序的执行，进入到消息循环
sys.exit(app.exec_())